"""
完成下列要求
    sum_data 原函数执行for循环， 一边循环一边加等 XXX次， sum_data(100)， 求 1-100 累加之和
    为sum_data 增加打印函数，执行打印时间
    执行的公式 : 执行后的时间 - 执行前的时间
    执行前的时间： 之间运行原函数的时间
    执行后的时间： 给圆环书扩展了这个功能之后的时间

    start = 现在的时间
    执行 func()
    stop = 执行后的时间
    假设 : 执行前的时间 00:00:01  执行后的时间：00:00:20
"""
import time



# 在不改变sum_data函数的基础上增加打印时间 使用闭包函数
def print_time(func):
    def wrapper(*args,**kwargs):
        # 开始时间
        start = time.time()
        str_start = time.strftime("%Y年%m月%d %H时%M分%S秒",time.localtime(start))
        result = func(*args,**kwargs)
        # 结束时间
        end = time.time()
        str_end = time.strftime("%Y年%m月%d %H时%M分%S秒", time.localtime(end))
        print(f"执行前的时间{str_start}  执行后的时间：{str_end}")
        print(f"耗时：{end-start}毫秒")
        return result

    return wrapper


@print_time
def sum_data(num):
    sum = 0
    for i in range(num+1):
        sum += i
    return sum

print(sum_data(10000000))